package com.torry.edss.integration.feign.eastmoney.response;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author torry.wang
 */
@Data
@ApiModel("公司基础信息响应")
public class EMStockDetailInfoResponse {

    @JsonProperty("version")
    @ApiModelProperty(value = "数据版本标识", example = "1da394c9a3c3ea637c16365db8e3c86f")
    private String version;

    @ApiModelProperty("响应结果")
    private Result result;

    @JsonProperty("success")
    @ApiModelProperty(value = "是否成功", example = "true")
    private Boolean success;

    @JsonProperty("message")
    @ApiModelProperty(value = "返回消息", example = "ok")
    private String message;

    @JsonProperty("code")
    @ApiModelProperty(value = "状态码", example = "0")
    private Integer code;

    @Data
    @ApiModel("结果数据")
    public static class Result {

        @JsonProperty("pages")
        @ApiModelProperty(value = "总页数", example = "1")
        private Integer pages;

        @ApiModelProperty("公司数据列表")
        private List<CompanyBasicInfo> data;

        @JsonProperty("count")
        @ApiModelProperty(value = "数据总数", example = "1")
        private Integer count;
    }

    @Data
    @ApiModel("公司基础信息")
    public static class CompanyBasicInfo {

        @JsonProperty("SECUCODE")
        @ApiModelProperty(value = "证券统一代码（市场.代码）", example = "000001.SZ")
        private String secucode;

        @JsonProperty("SECURITY_CODE")
        @ApiModelProperty(value = "证券代码", example = "000001")
        private String code;

        @JsonProperty("SECURITY_NAME_ABBR")
        @ApiModelProperty(value = "证券简称", example = "平安银行")
        private String name;

        @JsonProperty("ORG_NAME")
        @ApiModelProperty(value = "公司全称", example = "平安银行股份有限公司")
        private String orgName;

        @JsonProperty("FORMERNAME")
        @ApiModelProperty(value = "曾用名", example = "深发展A→S深发展A→深发展A")
        private String formerName;

        @JsonProperty("REGIONBK")
        @ApiModelProperty(value = "所属地区", example = "广东省")
        private String region;

        @JsonProperty("EM2016")
        @ApiModelProperty(value = "行业分类", example = "金融-银行-股份制与城商行")
        private String industryCategory;

        @JsonProperty("BLGAINIAN")
        @ApiModelProperty(value = "所属概念", example = "HS300_,深圳特区,机构重仓...")
        private String concepts;

        @JsonProperty("CHAIRMAN")
        @ApiModelProperty(value = "董事长", example = "谢永林")
        private String chairman;

        @JsonProperty("LEGAL_PERSON")
        @ApiModelProperty(value = "法人代表", example = "谢永林")
        private String legalPerson;

        @JsonProperty("PRESIDENT")
        @ApiModelProperty(value = "总经理", example = "冀光恒")
        private String president;

        @JsonProperty("SECRETARY")
        @ApiModelProperty(value = "董秘", example = "周强")
        private String secretary;

        @JsonProperty("FOUND_DATE")
        @ApiModelProperty(value = "成立日期", example = "1987-12-22 00:00:00")
        private String foundDate;

        @JsonProperty("REG_CAPITAL")
        @ApiModelProperty(value = "注册资本（万元）", example = "1940591.8198")
        private Double registeredCapital;

        @JsonProperty("TOTAL_NUM")
        @ApiModelProperty(value = "员工总数", example = "41011")
        private Integer employeeCount;

        @JsonProperty("ORG_TEL")
        @ApiModelProperty(value = "公司电话", example = "0755-82080387")
        private String telephone;

        @JsonProperty("ORG_EMAIL")
        @ApiModelProperty(value = "公司邮箱", example = "PAB_db@pingan.com.cn")
        private String email;

        @JsonProperty("ORG_WEB")
        @ApiModelProperty(value = "公司网址", example = "bank.pingan.com")
        private String website;

        @JsonProperty("ADDRESS")
        @ApiModelProperty(value = "办公地址", example = "中国广东省深圳市深南东路5047号...")
        private String address;

        @JsonProperty("REG_ADDRESS")
        @ApiModelProperty(value = "注册地址", example = "中华人民共和国广东省深圳市罗湖区...")
        private String registeredAddress;

        @JsonProperty("ORG_PROFIE")
        @ApiModelProperty(value = "公司简介")
        private String profile;

        @JsonProperty("MAIN_BUSINESS")
        @ApiModelProperty(value = "主营业务")
        private String mainBusiness;

        @JsonProperty("LISTING_DATE")
        @ApiModelProperty(value = "上市日期", example = "1991-04-03 00:00:00")
        private String listingDate;

        @JsonProperty("TRADE_MARKET")
        @ApiModelProperty(value = "交易市场", example = "深交所主板")
        private String tradeMarket;

        @JsonProperty("SECURITY_TYPE")
        @ApiModelProperty(value = "证券类型", example = "A股")
        private String securityType;

        @JsonProperty("ORG_TYPE")
        @ApiModelProperty(value = "公司类型", example = "银行")
        private String orgType;

        @JsonProperty("CURRENCY")
        @ApiModelProperty(value = "货币类型", example = "CNY")
        private String currency;

        @JsonProperty("ACCOUNT_FIRM")
        @ApiModelProperty(value = "会计师事务所", example = "安永华明会计师事务所(特殊普通合伙)")
        private String accountingFirm;

        @JsonProperty("LEGAL_ADVISER")
        @ApiModelProperty(value = "律师事务所", example = "北京市海问(深圳)律师事务所")
        private String legalAdviser;

        @JsonProperty("CSRC_INDUSTRY_NAME")
        @ApiModelProperty(value = "证监会行业", example = "金融业-货币金融服务")
        private String csrcIndustry;
    }
}